Bootstrapping a Modelica Compiler aiming at Modelica 4
نویسندگان
چکیده
What does it mean to bootstrap a compiler, and why do it? This paper reports on the first bootstrapping (i.e., a compiler can compile itself) of a full-scale EOO (Equation-based Object-Oriented) modeling language such as Modelica. The Modelica language has been modeled/implemented in the OpenModelica compiler (OMC) using an extended version of Modelica called MetaModelica. OMC models the MetaModelica language and is now compiling itself with good performance. Benefits include a more extensible maintainable compiler, also making it easier to add functionality such as debugging support. This work is in line with the recently started Modelica 4 design effort which includes moving implementation of language features from the compiler to a Modelica Core library, allowing compilers to become smaller while increasing correctness and portability. A number of language constructs discussed for Modelica 4 are already supported in some form by the bootstrapped compiler. Future work includes adapting language constructs according to the Modelica 4 design effort and extracting and restructuring parts of the Modelica implementation from the OMC compiler to instead reside in a Modelica Core library, making the compiler smaller and more extensible.
منابع مشابه
Bootstrapping a Compiler for an Equation-Based Object-Oriented Language
What does it mean to bootstrap a compiler, and why do it? This paper reports on the first bootstrapping of a full-scale EOO (Equation-based Object-Oriented) modeling language such as Modelica. Bootstrapping means that the compiler of a language can compile itself. However, the usual application area for the Modelica is modeling and simulation of complex physical systems. Fortunately it turns ou...
متن کاملDynamic Optimization of Modelica Models – Language Extensions and Tools
The Modelica language is currently gaining increased interest, both in industry and in academia. Modelica is an object-oriented, general purpose modeling language, targeted at modeling of complex physical systems. While the main usage of models developed in Modelica is simulation, several other usages emerge. Examples of such usages are dynamic optimization, model reduction, calibration, verifi...
متن کاملModelica-based computational tools for sensitivity analysis via automatic differentiation
This work is mainly concerned with sensitivity analysis of DAE-based models described by the modern object-oriented modeling language Modelica. In this context, an automatic differentiation tool named as ADModelica is presented. It fully employs Modelica-based compiler techniques forming a new automatic differentiation approach for non-causal equation-based languages. Already existing open-sour...
متن کاملMeta Programming and Function Overloading in OpenModelica
The OpenModelica framework is an Open Source effort for building a complete compiler for Modelica started at the programming environments laboratory at Linköping university. It is written in a language called RML [10], Relational Meta Language, based on natural semantics. Natural semantics is a popular formalism for describing the semantics (i.e. the meaning of language constructs) for compiler...
متن کاملOpenModelica-Python Interoperability Applied to Monte Carlo Simulation
During recent years the interest in computer aided modeling and simulation of complex multi-domain systems have increased significantly. The evolution of the declarative equation-based object-oriented (EOO) modeling language Modelica is a prime example of such a trend. The inherent acausal modeling possibilities and the hybrid modeling capabilities are two features that make Modelica superior. ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2011